In modern electronic devices, memory is often used to program one of a plurality of parameter values to implement certain operations of a device, such as an integrated circuit (IC) or circuit board (CB). Some devices can be customized, so that the parameter value(s) are hardwired or programmed into on-board memory. The design costs of a custom IC can be relatively expensive, but may be justifiable for some end products (e.g., those produced in high volumes and/or requiring a substantial amount of processing power and memory capacity). Some custom IC's include on-board memory for customization of a specific end product which, in turn, ensures the most efficient use of IC resources (e.g., the memory available is sufficient for the device requirements). However, for other end products, small manufacturing volumes may not justify the high design and manufacturing costs associated with using custom ICs or on-board programmable memory.
Solutions associated with custom made devices include the use of volatile memory and non-volatile memory. Volatile memory (e.g., DRAM, SRAM, flip-flops, etc.) is less expensive than non-volatile memory, but it is dependent upon continuous power to maintain the programmed values in the memories. Therefore, volatile memory does not immediately provide programmed device parameters after a power loss, and the programmed values should be stored in non-volatile memory (either on-board or elsewhere in the system). As a result, device parameters stored in volatile memory (e.g., specific usage patterns such as recalling a last chapter played from a DVD-ROM in a DVD player, or a last channel viewed in a television receiver) must be reloaded every time power is restored.
Non-volatile memory (e.g., flash memory), however, is not dependent upon continuous power, and is oftentimes manufactured to allow up to 104 cycles of reprogrammability. However, in certain end devices, such reprogrammability is not needed or desired by end users. For example, a simple three-phase motor controller does not necessarily require the advantages of flash memory (e.g., high-speed reading/writing capabilities, high storage capacity, etc.), nor does the manufacturer of the motor or motor controller necessarily desire such capabilities. Such memory, however, is practical for applications that need device parameter values immediately upon the application of power (e.g., TV volume settings, a last played chapter in a DVD-ROM prior to a loss of power, etc.). In such devices, flash memory (which is larger and more expensive than volatile memory) may be used to provide the desired parameter data storage capabilities.
In other devices, certain predefined parameters are utilized throughout the entire lifespan of the particular device and require no modification. In such instances, one-time programmable (OTP) memories are utilized to store such parameters. Typical OTP memories include, for example, hardwired memory, mask ROM, fuses, EPROM, etc. Due to their relative simplicity, OTP memory provides the least expensive option for such devices, but has the disadvantage of not being reprogrammable. That is, once programmed, the parameters on the IC or circuit board cannot be modified. Thus, OTP memory does not allow end users to modify a device to suit their specific needs, or permit a manufacturer to reprogram the devices for sale to or use by another customer.
This “Discussion of the Background” section is provided for background information only. The statements in this “Discussion of the Background” are not an admission that the subject matter disclosed in this “Discussion of the Background” section constitutes prior art to the present disclosure, and no part of this “Discussion of the Background” section may be used as an admission that any part of this application, including this “Discussion of the Background” section, constitutes prior art to the present disclosure.